package edu.unice.simul.vue.components.simul;

import java.awt.Dimension;

import javax.swing.JTabbedPane;

import edu.unice.simul.controleur.SimulationControleur;
import edu.unice.simul.vue.moteur_graphique.MoteurGraphique;

/**
 * Panneau à onglets affichant les statistiques temps réel et permettant de
 * contrôler l'application.
 * 
 * @author Romain Ciaccafava
 * 
 */
public class TabPanel extends JTabbedPane {
	private static final long serialVersionUID = 3629778434261295299L;

	private final SimulationControleur controleur;
	private MoteurGraphique moteurGraphique;
	private StatsPanel statsPanel;
	private ControlsPanel controlsPanel;

	public TabPanel(SimulationControleur controleur,
			MoteurGraphique moteurGraphique) {
		this.controleur = controleur;
		this.moteurGraphique = moteurGraphique;

		buildUI();
	}

	/**
	 * Construit l'interface
	 */
	private void buildUI() {
		this.statsPanel = new StatsPanel();
		this.controlsPanel = new ControlsPanel(controleur, moteurGraphique);
		setPreferredSize(new Dimension(350, 500));
		addTab("Contrôles", controlsPanel);
		addTab("Statistiques", statsPanel);
	}

	public StatsPanel getStatsPanel() {
		return this.statsPanel;
	}

	/**
	 * Vérouille le panneau
	 */
	public void freeze() {
		controlsPanel.freeze();
	}
}
